package com.example.lean;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

    // 创建问题数组
    String[] queArr = {"什么门远永关不上？", "什么东西没人爱吃？",
            "什么瓜不能吃？", "什么布切不断？",
            "什么鼠最爱干净？", "偷什么不犯法？"};
    // 创建答案数组
    String[] ansArr = {"球门", "亏",
            "傻瓜", "瀑布",
            "环保署", "偷笑"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        //Java代码动态绑定数据并添加事件监听
        /*
         * 创建供 ListView 使用的 ArrayAdapter 对象ArrayAdapter构造方法中的参数：
         * 参数一：当前上下文路径，即要在哪个Activity中显示。
         * 参数二：布局文件的ID。这里使用的是系统提供的
         * 。这个布局文件与一般的布局文件不同，ArrayAdapter中，只接收有一个TextView的布局文件
         * ，如R.layout.list_item。
         * 参数三：要显示的数据集合。在重载的构造方法中：第三个参数还可以是一个数组。
         */
        ArrayAdapter<String> adapter = new ArrayAdapter<>(
                this,
                android.R.layout.simple_list_item_1, // 使用内建的布局资源
                queArr);                  // 以 queArr 数组当数据源

        ListView lv = (ListView) findViewById(R.id.lv);  //获取  ListView
        lv.setAdapter(adapter);           //设置 ListView 使用的 Adapter
        lv.setOnItemClickListener(this); //设置 ListView 选项被单击时的事件监听器
    }

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast.makeText(this, "答案︰" + ansArr[position], Toast.LENGTH_SHORT).show();
    }
}